package com.lengxf.leetcode.a;

import java.util.Arrays;

public class Leetcode_bubbleSort {

    static int[] arr = GenerateArr.getArr(10);

    public static void main(String[] args) {
        System.out.println(Arrays.toString(arr));
        bubbleSort(arr, false);
        System.out.println(Arrays.toString(arr));
    }

    //冒泡排序
    //每遍历一遍找出一个最大 或者 最小
    // true 升序
    //false 降序
    private static void bubbleSort(int[] arr, boolean sort) {
        if (arr == null || arr.length <= 1) {
            return;
        }
        if (sort) {
            bubbleSortAsc(arr);
        }
        bubbleSortDesc(arr);
    }

    private static void bubbleSortDesc(int[] arr) {
        for (int i = 1; i < arr.length; i++) {
            for (int j = arr.length - i; j > 0; j--) {
                if (arr[j - 1] < arr[j]) {
                    int tmp = arr[j - 1];
                    arr[j - 1] = arr[j];
                    arr[j] = tmp;
                }
            }
        }
    }


    private static void bubbleSortAsc(int[] arr) {
        for (int i = 1; i < arr.length; i++) {
            for (int j = arr.length - i; j > 0; j--) {
                if (arr[j - 1] > arr[j]) {
                    int tmp = arr[j - 1];
                    arr[j - 1] = arr[j];
                    arr[j] = tmp;
                }
            }
        }
    }


}
